16 research outputs found

    Deterministic Consistency: A Programming Model for Shared Memory Parallelism

    Full text link
    The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code, and runtime systems can impose synthetic schedules on legacy parallel code. To parallelize existing serial code, however, we would like a programming model that is naturally deterministic without language restrictions or artificial scheduling. We propose "deterministic consistency", a parallel programming model as easy to understand as the "parallel assignment" construct in sequential languages such as Perl and JavaScript, where concurrent threads always read their inputs before writing shared outputs. DC supports common data- and task-parallel synchronization abstractions such as fork/join and barriers, as well as non-hierarchical structures such as producer/consumer pipelines and futures. A preliminary prototype suggests that software-only implementations of DC can run applications written for popular parallel environments such as OpenMP with low (<10%) overhead for some applications.Comment: 7 pages, 3 figure

    Le rythme, pratique du ravissement ; la poésie, pontifex

    Get PDF
    L'intérêt de la théorie récente pour le rythme peut répondre à la perte du « réel » dans le constructionnisme radical postmoderne. Mais Kristeva et Meschonnic, en redéfinissant le rythme en le liant à la subjectivité et au discours, répètent la perte du corps et la perte moderne de la spécificité de la poésie par rapport à la prose. En retenant le sens traditionnel, musical, du « rythme », nous retrouvons le rythme dans la poésie comme dans la politique. Le rythme est cet élément du langage sans signifiance. Il crée une communauté en effaçant le sens institué, la subjectivité individuelle, les hiérarchies et les préjugés. Une lecture d'un poème de Wallace Stevens montre que la poésie « fait un pont » (pontifex) entre le sens et le rythme, si on la lit comme une allégorie du pouvoir extatique du rythme, donc de l'effort vain du langage à représenter sa source rythmique.A focus on rhythm in recent theory may respond to the loss of the "real" in postmodern, radical constructionism. But Kristeva and Meschonnic, redefining; rhythm by connecting it to, subjectivity and discourse, repeat the loss of the real body and the modernist loss of poetry's difference from prose. Rather, keeping the traditional, musical meaning of "rhythm", we can rediscover rhythm both in poetry and in political life. Rhythm is the nonmeaning element in language, creating a community while effacing normal meaning, individual subjectivity, hierarchies, and prejudice. Poetry "bridges" (as pontifex) the gap between meaning and rhythm, if it is read as an allegory for ecstatic power of rhythm, and thus of the impossible effort of language to represent its rhythmic source as exemplified in a reading of a Wallace Stevens lyric

    Efficient System-Enforced Deterministic Parallelism

    Get PDF
    Deterministic execution offers many benefits for debugging, fault tolerance, and security. Current methods of executing parallel programs deterministically, however, often incur high costs, allow misbehaved software to defeat repeatability, and transform time-dependent races into input- or path-dependent races without eliminating them. We introduce a new parallel programming model addressing these issues, and use Determinator, a proof-of-concept OS, to demonstrate the model's practicality. Determinator's microkernel API provides only “shared-nothing” address spaces and deterministic interprocess communication primitives to make execution of all unprivileged code—well-behaved or not—precisely repeatable. Atop this microkernel, Determinator's user-level runtime adapts optimistic replication techniques to offer a private workspace model for both thread-level and process-level parallel programing. This model avoids the introduction of read/write data races, and converts write/write races into reliably-detected conflicts. Coarse-grained parallel benchmarks perform and scale comparably to nondeterministic systems, on both multicore PCs and across nodes in a distributed cluster

    High-performance determinism with total store order consistency

    No full text
    corecore